// aliasd.c

#pragma optimize
// #pragma save_binary

mapping global_alias = ([
    "l":        "look",
    "n":        "go north",
    "e":        "go east",
    "w":        "go west",
    "s":        "go south",
    "nu":        "go northup",
    "eu":        "go eastup",
    "wu":        "go westup",
    "su":        "go southup",
    "nd":        "go northdown",
    "ed":        "go eastdown",
    "wd":        "go westdown",
    "sd":        "go southdown",
    "ne":        "go northeast",
    "se":        "go southeast",
    "nw":        "go northwest",
    "sw":        "go southwest",
    "u":        "go up",
    "d":        "go down",
    "i":        "inventory",
    "tt":        "team talk",
]);

string process_global_alias(string arg)
{
    string *word;

        switch (arg[0])
        {
        case '\'':
            return "say " + arg[1..strlen(arg) - 1];

        case '.':
                return "skip " + arg[1..strlen(arg) - 1];
        }

    word = explode(arg, " ");
    if (sizeof(word) && ! undefinedp(global_alias[word[0]]))
        {
        word[0] = global_alias[word[0]];
        return implode(word, " ");
    }

    return arg;
}
